///////////////////////////////////////////////////////////////////////////////////////
#include <Servo.h>
#include <SoftwareSerial.h>
SoftwareSerial mySerial(A1,A2);
Servo myservo1;////ตีวยืด
Servo myservo2;////ตีวคีบ
int potpin = 0;
int pos1=90;
int pos2=90;
int DLS=50;
String readString;
const int Pin_A = 4;
const int Pin_B = 5;
const int Pin_C = 6;
const int Pin_D = 7;
const int Pin_E = 8;
const int Pin_F = 9;
const int Pin_G = 10;
const int Pin_H = 11;
char unChar;
void setup()
{
pinMode(Pin_A, OUTPUT);
pinMode(Pin_B, OUTPUT);
pinMode(Pin_C, OUTPUT);
pinMode(Pin_D, OUTPUT);
pinMode(Pin_E, OUTPUT);
pinMode(Pin_F, OUTPUT);
pinMode(Pin_G, OUTPUT);
pinMode(Pin_H, OUTPUT);
myservo1.attach(2); //ตัวยืด
myservo2.attach(3);//ตัวคีบ
delay(100);
digitalWrite(Pin_A, LOW);
digitalWrite(Pin_B, LOW);
digitalWrite(Pin_C, LOW);
digitalWrite(Pin_D, LOW);
digitalWrite(Pin_E, LOW);
digitalWrite(Pin_F, LOW);
digitalWrite(Pin_G, LOW);
digitalWrite(Pin_H, LOW);
//delay(1000);
Serial.begin(57600);
while (!Serial)
{
}
// Serial.println("Goodnight moon!");
mySerial.begin(9600);
// mySerial.println("Hello, world?");
}
void loop()
{
if (mySerial.available())
{
unChar = mySerial.read();
Serial.println(unChar);
if(unChar=='G')
{
DLS=15;
delay(500);
}
if(unChar=='H')
{
DLS=50;
}
if(unChar=='A')///////
{
DD();
}
if(unChar=='B')
{
BK();
}
if(unChar=='C')
{
RRR();///สไลด์
}
if(unChar=='D')
{
LLL();//สไลด์
}
if(unChar=='E')//L1
{
RR();
}
if(unChar=='F')//L2
{
RR1();
}
//////////////////////////////
if(unChar=='M')//R1
{
LL();
}
if(unChar=='N')//R2
{
LL1();
}
if(unChar=='I')//สามเหลี่ยม
{
if(pos1>=180)
{
pos1=180;
}
else
{
pos1=pos1+5;
myservo1.write(pos1);
delay(10);
}
}
if(unChar=='L')//วงกลม
{
if(pos1<=0)
{
pos1=0;
}
else
{
pos1=pos1-5;
myservo1.write(pos1);
delay(10);
}
}
if(unChar=='J')//กากบาท
{
if(pos2<=60)
{
pos2=60;
}
else
{
int I=1;
while(I<=20)
{
++I;
pos2--;
myservo2.write(pos2);
delay(10);}
}
}
if(unChar=='K')//สี่เหลี่ยม
{
if(pos2>=180)
{
pos2=180;
}
else
{
int i=1;
while(i<=20)
{
i++;
pos2++;
myservo2.write(pos2);
delay(10);
}
}
}
/////////////////////////////////////////////////////////////////
}
//////////////////////////////////////////
else
{
digitalWrite(Pin_A, LOW);
digitalWrite(Pin_B, LOW);
digitalWrite(Pin_C, LOW);
digitalWrite(Pin_D, LOW);
digitalWrite(Pin_E, LOW);
digitalWrite(Pin_F, LOW);
digitalWrite(Pin_G, LOW);
digitalWrite(Pin_H, LOW);
delay(10);
}
}
void DD()
{
digitalWrite(Pin_A, LOW);
digitalWrite(Pin_B, HIGH);
digitalWrite(Pin_C, LOW);
digitalWrite(Pin_D, HIGH);
digitalWrite(Pin_E, LOW);
digitalWrite(Pin_F, HIGH);
digitalWrite(Pin_G, LOW);
digitalWrite(Pin_H, HIGH);
delay(DLS);
}
void BK()
{
digitalWrite(Pin_A, HIGH);
digitalWrite(Pin_B, LOW);
digitalWrite(Pin_C, HIGH);
digitalWrite(Pin_D, LOW);
digitalWrite(Pin_E, HIGH);
digitalWrite(Pin_F, LOW);
digitalWrite(Pin_G, HIGH);
digitalWrite(Pin_H,LOW);
delay(DLS);
}
void RR()
{
digitalWrite(Pin_A, HIGH);
digitalWrite(Pin_B, LOW);
digitalWrite(Pin_C, HIGH);
digitalWrite(Pin_D, LOW);
digitalWrite(Pin_E, LOW);
digitalWrite(Pin_F, HIGH);
digitalWrite(Pin_G, LOW);
digitalWrite(Pin_H, HIGH);
delay(DLS);
}
void RR1()
{
digitalWrite(Pin_A, HIGH);
digitalWrite(Pin_B, LOW);
digitalWrite(Pin_C, HIGH);
digitalWrite(Pin_D, LOW);
digitalWrite(Pin_E, LOW);
digitalWrite(Pin_F, HIGH);
digitalWrite(Pin_G, LOW);
digitalWrite(Pin_H, HIGH);
delay(DLS);
}
void LL()
{
digitalWrite(Pin_A, LOW);
digitalWrite(Pin_B, HIGH);
digitalWrite(Pin_C, LOW);
digitalWrite(Pin_D, HIGH);
digitalWrite(Pin_E, HIGH);
digitalWrite(Pin_F, LOW);
digitalWrite(Pin_G, HIGH);
digitalWrite(Pin_H, LOW);
delay(DLS);
}
void LL1()
{
digitalWrite(Pin_A, LOW);
digitalWrite(Pin_B, HIGH);
digitalWrite(Pin_C, LOW);
digitalWrite(Pin_D, HIGH);
digitalWrite(Pin_E, HIGH);
digitalWrite(Pin_F, LOW);
digitalWrite(Pin_G, HIGH);
digitalWrite(Pin_H, LOW);
delay(DLS);
}
////////////////////////////////////
void RRR()//สไลด์ขวา
{
digitalWrite(Pin_A, HIGH);
digitalWrite(Pin_B, LOW);
digitalWrite(Pin_C, LOW);
digitalWrite(Pin_D, HIGH);
digitalWrite(Pin_E, LOW);
digitalWrite(Pin_F, HIGH);
digitalWrite(Pin_G, HIGH);
digitalWrite(Pin_H, LOW);
delay(DLS);
}
void LLL()//สไลด์ซ้าย
{
digitalWrite(Pin_A, LOW);
digitalWrite(Pin_B, HIGH);//
digitalWrite(Pin_C, HIGH);
digitalWrite(Pin_D, LOW);//
digitalWrite(Pin_E, HIGH);
digitalWrite(Pin_F, LOW);//
digitalWrite(Pin_G, LOW);
digitalWrite(Pin_H, HIGH); //
delay(DLS);
}